package com.lzx.lizhenxing.pay.service;


import com.lzx.lizhenxing.pay.param.TradePayParam;
import com.lzx.lizhenxing.pay.vo.PayQrVO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 针对业务订单进行支付操作的接口
 */
public interface TradeOrderPayService {
    /**
     *  选择业务订单、并选择支付类型进行支付
     * @param payParam
     * @return
     */
    PayQrVO tradeOrderPay(TradePayParam payParam);

    /**
     *  统一的回调处理
     * @param request
     * @param response
     */
    void payNotify(HttpServletRequest request, HttpServletResponse response);

    /**
     * 查询交易订单号
     * @param orderId
     */
    Integer payStates(Long orderId);

    /**
     * 取消支付宝交易订单
     * @param orderId
     * @return
     */
    Integer tradePayCancel(Long orderId);

    /**
     * 退款
     */
    void tradePayRefund(Long orderId);
}
